ログ収集を継続しながら Datadog のインフラストラクチャー料金を削減してみた

ログ収集を継続しながら Datadog のインフラストラクチャー料金を削減してみた

Clock Icon2024.12.22

こんにちは。テクニカルサポートチームのShiinaです。

はじめに

Datadog によるログ収集は、システムの可観測性を確保する上で重要な機能です。
監視は必須ではないものの、ログの収集を行いたいと考えるケースが一般的に想定されます。
例えば、開発環境ではシステムの安定性を重視した監視は不要ですが、トラブルシューティングやデバッグのためにログの収集を行いたい場合があります。
本記事では、Datadog エージェントのメトリクス収集を無効化しながらログ収集を継続する方法を解説します。
ログ保管や監査といったコンプライアンス要件を満たしつつコスト最適化を実現する運用方法をご紹介します。

前提

AWS インテグレーションのメトリクス収集は CloudWatch APIs を利用している必要があります。

インフラストラクチャーの料金

Datadog ではメトリクスを収集・報告を行なっている EC2 インスタンスに対してインフラストラクチャーの料金が発生します。

  • 発生条件
    ・AWS インテグレーションによってメトリクス収集・報告を実施している EC2 インスタンス
    ・Datadog エージェントによってメトリクス収集・報告を実施している EC2 インスタンス
    両方に該当する場合は1ホストとしてカウントされます。
  • 価格
    Datadog サイトとプランによって異なります。
    US サイトで PRO プラン利用した場合、最小価格は1ホストあたり月額 $15 です。
    最新の価格は公式ドキュメント[1]を参照してください。

EC2 インスタンスのメトリクス収集状況を確認する方法

EC2 インスタンスがどのようにメトリクスを収集し、報告しているかを、ホスト情報を基に確認する方法について説明します。

Datadog コンソールメニュー Infrastrucure の Hosts を選択します。
Dashboards-Datadog-12-22-2024_05_44_PM

Host List 一覧から対象のホストを確認します。

  • AWS インテグレーションによりメトリクス収集・報告している場合
    AWS アイコンが表示されます。
    awsのみ

  • Datadog エージェントによりメトリクス収集・報告している場合
    ホネアイコンが表示されます。
    aws以外でエージェント起動

  • Datadog エージェントと AWS インテグレーションによりメトリクス収集・報告している場合
    AWS アイコンとホネアイコンが表示されます。
    awsでエージェント起動中

  • メトリクス収集・報告していない場合
    料金は発生せず、Host List 一覧にも表示はされません。

設定の流れ

料金を発生させないためには両方のメトリクス収集・報告を無効化する必要があります。
はじめに AWS インテグレーションの設定を行い、メトリクス収集・報告を行う EC2 インスタンスをフィルタします。
その後、Datadog エージェントの設定でメトリクス収集・報告を無効化し、ログ収集のみを継続させます。

AWS インテグレーションの設定

メトリクス収集・報告対象はタグでフィルタすることができます。

Datadog コンソールメニューより Integrations を選択します。
Host-List-Datadog-12-22-2024_05_45_PM

Integrations 一覧から 「Amazon Web Services」 にカーソルを移動し、[CONFIGURE]をクリックします。
Integrations-Datadog-12-22-2024_05_46_PM

Metric Collection タブを選択します。
Limit Metric Collection to Specific Resources に対して次のように設定を行い、 [SAVE] をクリックします。

  • AWS SERVICE
    EC2
  • RESOURCE TAGS
    タグキー:値
    Integrations-AWS-Datadog-12-12-2024_05_43_PM

AWS インテグレーションの RESOURCE TAGS 設定では、環境を区別するためのタグを設定するケースが考えられます。
例えば、EC2 インスタンスに環境を示すタグキーenvが付与されている場合、本番環境を示す値prdのみの EC2 インスタンスのメトリクスを収集・報告するようにフィルタすることができます。
この場合、env:prd という形式でタグを指定することで、設定を行います。
タグの値が一致しない場合や、タグキーが付与されていない EC2 インスタンスについては、メトリクスの収集が行われません。
インスタンス-EC2-ap-northeast-1-12-12-2024_05_45_PM

Datadog エージェントの設定(Linux)

メトリクスペイロード送信の無効化

Datadog エージェントでメトリクスペイロードの送信を無効化する設定を行います。
/etc/datadog-agent/datadog.yamlに対して下記の定義を追加します。

datadog.yaml
(中略)

enable_payloads:
    series: false
    events: false
    service_checks: false
    sketches: false

(中略)

設定反映のため、Datadog エージェントを再起動します。

sudo systemctl restart datadog-agent

無効化後のメトリクス確認

Datadog コンソールメニューより Infrastrucure の Hosts を選択します。
Host List 一覧から対象のホストをクリックします。
Metrics タブを選択します。
下記メトリクスの記録が止まったことを確認します。
・CPU Usage
・Load Averages
設定後、メトリクス停止確認Linux

無効化後のステータス確認

Datadog コンソールメニュー Infrastrucure の Hosts を選択します。
Host List 一覧から対象のホストをクリックします。
しばらくしてから STATUS が ACTIVE から INACTIVE に変わったことを確認します。
一覧から表示が消えている場合でも無効化は完了しています。
inactivelinux

Datadog エージェントの設定(Windows)

メトリクスペイロード送信の無効化

Datadog エージェントでメトリクスペイロードの送信を無効化する設定を行います。
C:\ProgramData\Datadog\datadog.yamlに対して下記の定義を追加します。

datadog.yaml
(中略)

enable_payloads:
    series: false
    events: false
    service_checks: false
    sketches: false

(中略)

設定反映のため、Datadog エージェントを再起動します。

& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" restart-service

無効化後のメトリクス確認

Datadog コンソールメニュー Infrastrucure の Hosts を選択します。
Host List 一覧から対象のホストをクリックします。
Metrics タブを選択します。
下記メトリクスの記録が止まったことを確認します。
・Process Queue Length
・Disk Queue Length
・CPU usage
設定後、メトリクス確認windows

無効化後のステータス確認

Datadog コンソールメニュー Infrastrucure の Hosts を選択します。
Host List 一覧から対象のホストをクリックします。
しばらくしてから STATUS が ACTIVE から INACTIVE に変わったことを確認します。
一覧から表示が消えている場合でも無効化は完了しています。
inactivewindows

ログ収集の継続確認

メトリクスペイロードの送信を無効化したインスタンスでログ収集が継続されていることを確認します。

Datadog コンソールメニュー Logs の Explorer を選択します。
Integrations-AWS-Datadog-12-22-2024_05_48_PM

Host 属性で無効化したインスタンスをフィルタし、ログメッセージが表示されていることを確認します。
Log-Explorer-Datadog-12-12-2024_05_54_PM

まとめ

メトリクスを収集・報告を行なっている EC2 インスタンスに対してインフラストラクチャーの料金が発生します。
コスト削減のために対象を絞るには AWS インテグレーションおよび Datadog エージェントの設定を行う必要があります。
設定後もログ収集は継続できるため、コストを最適化しつつ、コンプライアンス要件を満たすことができます。
Datadog エージェントを利用せず、AWS インテグレーションのみを使用している場合でも AWS インテグレーションの「Limit Metric Collection to Specific Resources」機能(特定のリソースに対してメトリクス収集を制限する機能)を利用することで料金削減が可能です。

本記事が誰かのお役に立てれば幸いです。

参考

https://docs.datadoghq.com/logs/guide/how-to-set-up-only-logs/?tab=host
https://docs.datadoghq.com/account_management/billing/#hosts

脚注
  1. https://www.datadoghq.com/ja/pricing/ ↩︎

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.